Interfaces to computing devices typically involve typing text in a command line or inputting text or selecting options using a selection device (e.g., a computer mouse) in a graphical image (i.e., a graphical user interface or GUI). A typical GUI is a window on a computer in which an application computer program (e.g., a search engine) is running, where data in the window changes as the application computer program operates (e.g., changes as the user types data into the window or selects boxes via a computer mouse, data retrieved by a search engine is displayed).
A GUI operates in a dynamic environment and could change without the user noticing the change. Since a change in a GUI could be of significance to a user (e.g., a change in Uniform Resource Locator (URL) has occurred), there is a need to identify to a user if and how a GUI has changed. The present invention is a device for and method of determining if and how a GUI has changed.
A prior art method of determining state changes in a GUI includes the following steps. Saving the contents of an application computer program that is running in a GUI (e.g., an application computer program such as a search engine running in a computer window). Monitoring the GUI for events (i.e., communications between the application computer program and the GUI concerning what the application computer program is doing such as receiving a search topic, returning results of a search, etc.) in the GUI, determining if an event would cause the content of the GUI to change (e.g., displaying a search topic, displaying the results of a search). Determining if what the application computer program would like to display in the GUI is supported by the GUI (i.e., could be displayed by the GUI). If the application computer program is supported by the GUI then checking the GUI against a corresponding configuration file to determine if a change has occurred in the GUI. If the application computer program wants to display something in the GUI that is not supported by the GUI (i.e., cannot be displayed by the GUI) then saving the contents of the GUI. If any change in the GUI has been determined then informing the user of the change. The prior art method requires the use of a configuration file. Since the contents of a configuration file might not be current, using such a configuration file might cause a change in the GUI to go undetected. Therefore, there is a need for a device for and method of determining a change to a GUI that does not require the use of a configuration file. The present invention is such a device and method.
U.S. Pat. No. 6,898,764, entitled “METHOD, SYSTEM AND PROGRAM PRODUCT FOR DETERMINING DIFFERENCES BETWEEN AN EXISTING GRAPHICAL USER INTERFACE (GUI) MAPPING FILE AND A CURRENT GUI,” discloses a device for and method of comparing a first lists of GUI objects to a second list of GUI objects based on GUI mapping files to determine if an object in the first list is in the second list, and vice versa. U.S. Pat. No. 6,898,764 uses a GUI mapping file that is based on a previous version of the software, which exists before the a subsequent operation of the software. Therefore, U.S. Pat. No. 6,898,764 requires data from a previous operation of a software application. U.S. Pat. No. 6,898,764 is hereby incorporated by reference into the specification of the present invention.
U.S. Pat. No. 7,237,204, entitled “CHANGE DETECTION IN A GRAPHICAL USER INTERFACE,” discloses a method of determining if data used to display a graphical user interface has changed that requires the use of a configuration file. U.S. Pat. No. 7,237,204 is hereby incorporated by reference into the specification of the present invention.